package cn.exrick.xboot.core.service.mybatis;

import cn.exrick.xboot.core.entity.Role;
import cn.exrick.xboot.core.entity.UserRole;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.cache.annotation.EnableCaching;

import java.util.List;

/**
 * @author Exrickx
 */
public interface IUserRoleService extends IService<UserRole> {

    /**
     * 通过用户id获取
     * @param userId 用户id
     * @return List<Role>
     */
    List<Role> findByUserId(String userId);

    /**
     * 通过用户id获取用户角色关联的部门数据
     * @param userId 用户id
     * @return List<String>
     */
    List<String> findDepIdsByUserId(String userId);


    /**
     * 移除指定用户的全部角色
     * @param userId 用户id
     */
    void removeUserRolesByUserId(String userId);

    /**
     * 添加用户角色信息
     * @param userId 用户id
     * @param roleIds 角色id
     */
    void addUserRole(String userId, List<String> roleIds);


}
